package ControleAcademico.Model.Pojo;

import java.util.ArrayList;

public class Aluno extends Pessoa{

	private int id;
	private static int nextInt = 1;
	private ArrayList<Faltas> faltasTurma;
	private ArrayList<HistoricoAtividade> historicosAtividade;
	private ArrayList<HistoricoDisciplina> historicosDisciplinas;
	
	public Aluno (String nome, String cpf) {
		super(nome, cpf);
		this.id = nextInt;
		nextInt++;
		this.historicosAtividade = new ArrayList<HistoricoAtividade>();
		this.historicosDisciplinas = new ArrayList<HistoricoDisciplina>();
		this.faltasTurma = new ArrayList<Faltas>();
	}
	
	public Aluno (String nome, String cpf, int id) {
		super(nome, cpf);
		this.id = id;	
		this.historicosAtividade = new ArrayList<HistoricoAtividade>();
		this.historicosDisciplinas = new ArrayList<HistoricoDisciplina>();
		this.faltasTurma = new ArrayList<Faltas>();
	}
	
	public int getId(){
		return id;
	}
	
	public ArrayList<Faltas> getFaltasTurma() {
		return faltasTurma;
	}
	
	public Faltas getFaltas(Turma turma){
		Faltas faltas = null;
		for(Faltas i: faltasTurma){
			if(i.getTurma().getId() == turma.getId()){
				faltas = i;
				return faltas;
				
			}
		}
		return faltas;
	}

	public void setFaltasTurma(ArrayList<Faltas> faltasTurma) {
		this.faltasTurma = faltasTurma;
	}

	public ArrayList<HistoricoAtividade> getHistoricosAtividade() {
		return historicosAtividade;
	}

	public void setHistoricosAtividade(ArrayList<HistoricoAtividade> historicosAtividade) {
		this.historicosAtividade = historicosAtividade;
	}

	public ArrayList<HistoricoDisciplina> getHistoricosDisciplinas() {
		return historicosDisciplinas;
	}

	public void setHistoricosDisciplinas(ArrayList<HistoricoDisciplina> historicosDisciplinas) {
		this.historicosDisciplinas = historicosDisciplinas;
	}
	
	public void adicionarFaltas(Faltas faltas){
		this.faltasTurma.add(faltas);
	}
	
	public void adicionarHistoricoDisciplina(HistoricoDisciplina historicoDisciplina){
		this.historicosDisciplinas.add(historicoDisciplina);
	}
	
	public void adicionarHistoricoAtividade (HistoricoAtividade historicoAtividade){
		this.historicosAtividade.add(historicoAtividade);
	}
	
	public ArrayList<Atividade> getListaAtividades(){
		ArrayList<Atividade> listaAtivdade = new ArrayList<Atividade>();
		Atividade atividade = null;
		
		for (HistoricoAtividade i : historicosAtividade) {
			atividade = i.getAtividade();
			listaAtivdade.add(atividade);
		}
		return listaAtivdade;
	}

}

